AWK একটি শক্তিশালী টেক্সট প্রসেসিং ভাষা যা প্যাটার্ন এবং অ্যাকশন ভিত্তিক ডেটা প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। এতে ব্যবহারকারী নির্দিষ্ট প্যাটার্ন নির্ধারণ করে এবং সেই প্যাটার্নের ভিত্তিতে একটি অ্যাকশন সম্পাদন করে। এই পদ্ধতি ডেটা বিশ্লেষণের কাজকে সহজ এবং কার্যকরী করে।
প্যাটার্নগুলি শর্ত নির্দেশ করে যা AWK প্রোগ্রামে প্রয়োগ করা হয়। একটি প্যাটার্ন হল একটি নির্দিষ্ট নিয়ম বা শর্ত যা রেকর্ড বা লাইনে নির্ধারণ করে। AWK এর কিছু সাধারণ প্যাটার্ন হল:
/pattern/
।NR == 5
(পঞ্চম রেকর্ড)।$1 > 100
(প্রথম ফিল্ড 100 এর বেশি)।অ্যাকশনগুলি হল সেই কার্যক্রম যা AWK প্যাটার্ন ম্যাচ হলে সম্পাদন করে। অ্যাকশনগুলি সাধারণত {}
বন্ধনীর মধ্যে থাকে এবং এতে বিভিন্ন অপারেশন অন্তর্ভুক্ত থাকতে পারে, যেমন print
, printf
, পরিবর্তন, গণনা ইত্যাদি।
AWK এর সাধারণ সিনট্যাক্স হলো:
awk 'pattern { action }' filename
বেসিক ডেটা প্রক্রিয়াকরণ:
awk '{print $1, $3}' filename.txt
এখানে, প্রতিটি লাইনের প্রথম এবং তৃতীয় কলাম প্রিন্ট হবে।
শর্তযুক্ত ডেটা প্রক্রিয়াকরণ:
awk '$2 > 50 {print $1}' filename.txt
এখানে, যদি দ্বিতীয় কলামের মান 50 এর বেশি হয়, তবে প্রথম কলাম প্রিন্ট হবে।
রেগুলার এক্সপ্রেশন ব্যবহার:
awk '/error/ {print $0}' logfile.txt
এখানে, logfile.txt
ফাইলে "error" শব্দযুক্ত সব লাইন প্রিন্ট হবে।
গণনা এবং আউটপুট:
awk '{sum += $2} END {print sum}' filename.txt
এখানে, দ্বিতীয় কলামের সব মান যোগ করে শেষে মোট যোগফল প্রিন্ট হবে।
মাল্টিপল শর্তাবলী ব্যবহার:
awk '($1 > 100 && $2 < 50) {print $0}' filename.txt
এখানে, যদি প্রথম কলাম 100 এর বেশি এবং দ্বিতীয় কলাম 50 এর কম হয়, তবে পুরো রেকর্ড প্রিন্ট হবে।
একাধিক প্যাটার্ন এবং অ্যাকশন একসাথে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
awk '$1 ~ /^[A-Z]/ {print $0} $3 < 100 {print $1, $3}' filename.txt
এখানে, প্রথম প্যাটার্নটি চেক করে যে প্রথম কলামের মান বড় হাতের অক্ষরে শুরু হচ্ছে কিনা এবং সেই ক্ষেত্রে পুরো লাইন প্রিন্ট করে। দ্বিতীয় প্যাটার্নটি তৃতীয় কলামের মান 100 এর কম হলে প্রথম এবং তৃতীয় কলাম প্রিন্ট করে।
AWK এর প্যাটার্ন এবং অ্যাকশন ভিত্তিক ডেটা প্রক্রিয়াকরণ একটি শক্তিশালী টুল যা ব্যবহারকারীদের বিভিন্ন শর্ত অনুযায়ী ডেটা বিশ্লেষণ করতে সহায়তা করে। এটি ডেটা ফাইল থেকে তথ্য বের করতে, প্রক্রিয়া করতে এবং ফলাফল উপস্থাপন করতে খুবই কার্যকর। AWK এর এই বৈশিষ্ট্যগুলি ব্যবহার করে, আপনি জটিল ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণ কাজকে দ্রুত এবং সহজে সম্পন্ন করতে পারেন।
common.read_more